package com.neuedu.corejava.ch2;


public class DataType {
	public static void main(String[] args) {
		// 基本数据类型转换
		byte bt = 127; // 数值储存是不能超过其储值范围；
		short sh = 12345;
		int i = 123456;
		long l = 123456;
		
		l = i = sh = bt; //把一个小范围数据转换为大范围是，可以自动转换

		float f = 1234.23f; // 单精度浮点数后面必须加F或f;
		double d = 24565.546; // 小数默认是double类型，不写D就默认是double类型;
		
		d = f = l = i = sh = bt; //long类型可以自定转换为float类型
		
		f = (float) d; //把大范围数据转换为小范围数据需要强制转换；
//		l = (long) f = (float) d; //类型强转不能连续转换；
		
		// char c= '';  //错误 没有这样的空字符
		char c = 'a';   //字符引号内部必须有一个特定的符号
		char cc = '中'; //可以存单个汉字
		
		i = c; //char可以自动转换为int
		
		String string = ""; //可以是空字符串，但不是null；
		String string2 =null; //默认值是null，但不是空；
		
		Boolean boolean1=true;
		Boolean boolean2=false;//表示一种逻辑类型，表示真和假，对与错，正和反
		
		
		//使用下划线增加数据的可阅读性
		long ll = 1_000_000_000;
		float f2 = 3.14_15_92f;
		//3._14_15f; //小数点后不能加下划线
		//134_456_;//结尾不能加；
		//_23456;//开头不能加
		
		//进制数
		//二进制：0,1
		//八进制：0、1、2、3、4、5、6、7
		//十进制：1-9
		//十六进制：0-9 A-F
		
		//数据的转换
		int i2 = 0b11_0101_0101_0101;//二进制数以0b开头
		i2 = 0124537; //八进制数以0开头
		i2 = 0xa1b2c3; //十六进制以0x开头
	}
}
